#ifndef MYDATA_H
#define MYDATA_H
/*************************************************
 *	文件名称：mydata.h
 *	文件说明：	定义了单链表结构
				1.算法2.8 GetElem 在单链表中的实现
				2.算法2.9 ListInsert 在单链表中的实现
				3.算法2.10 ListDelete 在单链表中的实现
				4.算法2.11 CreateList_L 一个从表尾到表头逆向建立单链表的算法
				5.算法2.12 将两个有序链表合并为一个有序链表
 *	程序平台：for linux
 *	文件作者：Jason <jasonsunsoft@163.com>
 *	文件时间：2014年8月21日 20:07
*************************************************/

#include <stdlib.h>
#include <stdio.h>
#include "../../common.h"



/*
typedef struct {
	int a;
}ElemType;*/
typedef int ElemType;

//指针描述线性链表
typedef struct LNode{
	ElemType data;
	struct LNode * next;
} LNode, * LinkList;



//-------------- 基本操作的函数说明---------------

//算法2.8 GetElem 在单链表中的实现
Status GetElem_L(LinkList L, int i, ElemType *e);

//算法2.9 ListInsert 在单链表中的实现
Status ListInsert_L(LinkList *L, int i, ElemType e);

//算法2.10 ListDelete 在单链表中的实现
Status ListDelete_L(LinkList *L, int i, ElemType *e);

//算法2.11 CreateList_L 一个从表尾到表头逆向建立单链表的算法
void CreateList_L(LinkList *L, int n);

//算法2.12 将两个有序链表合并为一个有序链表
void MergelList_Sq(LinkList *La, LinkList *Lb, LinkList *Lc);



#endif //MYDATA_H
